/*
 * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi non lorem
 * porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. Etiam sed turpis ac
 * ipsum condimentum fringilla. Maecenas magna. Proin dapibus sapien vel ante. Aliquam erat
 * volutpat. Pellentesque sagittis ligula eget metus. Vestibulum commodo. Ut rhoncus gravida arcu.
 */

package com.mrd.gtimpframe.service;

import java.util.List;
import java.util.Map;

import org.springframework.data.domain.Page;

import com.mrd.base.Jqgrid;
import com.mrd.gtimpframe.entity.GenProtocol;
import com.mrd.util.R;

import javax.transaction.Transactional;


/**
 * Created by dengdc on 2017/8/10.
 */
public interface ChargingService {
  R queryCharging(Map<String, Object> params);

  /**
   * 查询测试
   */
  Page testQuery(Jqgrid jqgrid);

  List<Map<String, Object>> getChargingList(String supComId, String secondSupId, boolean isExport,
      boolean isCCI, boolean isDirect, String goodsCount, String contaCount);

  /**
   * 单票支付
   * 
   * @param declarationId
   * @return
   */
  Object[] calcDeclarationFee(String declarationId);

  /**
   * 多单支付
   * 
   * @param declarationIds
   * @return
   */
  Object[] calcDeclarationFee(String[] declarationIds) throws Exception;

  void customerDidPay(String declarationId);

  void customerDidPay(List<String> declarationIdList);

  public List<GenProtocol> selectByUniteId(String id);

  void saveChargeRecords(String declarationId, String comId,
                                 List<Map<String, Object>> feeList, boolean isIncome) ;
}
